package book;

public class BookList {
    //封装图书数组和有效图书大小
    private Book[] books = new Book[10];
    private int usedSize;  //存储当前书的个数

    //通过构造方法初始化，给数组先放3本书
    public BookList(){
        books[0] = new Book("红楼梦","曹雪芹",49,"小说");
        books[1] = new Book("西游记","吴承恩",59,"小说");
        books[2] = new Book("水浒传","施耐庵",89,"小说");
        this.usedSize=3;
    }

    //查找图书
    //返回下标相对应的书(查找)
    public Book getPosBook(int pos) {
        return books[pos];
    }

    public int getUsedSize() {
        return usedSize;
    }

    public void setUsedSize(int usedSize) {
        this.usedSize = usedSize;
    }

    /**
     * 添加图书
     * @param book 传进来addBook
     * @param pos  插入指定位置，但这里为了方便用的尾插的方法
     */
    public void setBooks(Book book,int pos) {
        books[pos]=book;
    }

    /**
     * 删除图书
     * 包括随机删和头删
     * @param bookList  把书架传进来
     * @param pos   把插入位置传进来
     */
    public void delBooks(BookList bookList,int pos) {
        int start = pos+1;

        while(start < bookList.usedSize) {
            bookList.books[start-1]=bookList.books[start];
            start++;
        }
        //有setUserSize就不再需要在这里++或--,而是在相应的操作里++或--
        //bookList.usedSize--;
    }


    //可以在这里去实现一些操作数组的方法
    //比如增删查改等操作可以放在这里，作为BookList的成员方法，就可以直接操作books数组内部的值

}
